home *** CD-ROM | disk | FTP | other *** search
-
- #include "../CGVPMacro.csi"
-
- VertAttributes { POSITION_3 TEXCOORD0_2 TEXCOORD1_2 TANG_3X3 }
-
- VS20Only
-
- MainInput { VIEWPROJ_MATRIX, CAMERA_POS, uniform float4x4 ModelMatrix }
- DeclarationsScript
- {
- IN_T0_T1_TANG
- OUT_T0_T1_T2_T3_T4_T5_T6_T7
- }
- PositionScript = PosCommon
- CoreScript
- {
- OUT.Tex0.xy = IN.TexCoord0.xy; // Diffuse
- OUT.Tex0.zw = IN.TexCoord0.xy; // Bump
- OUT.Tex1.xy = IN.TexCoord0.xy; // Gloss
- OUT.Tex2.xy = IN.TexCoord1.xy; // LM
- OUT.Tex3.xy = IN.TexCoord1.xy; // LMDir
-
- TANG_MATR
-
- float3 viewVec = CameraPos.xyz - vPos.xyz;
- OUT.Tex4.xyz = mul(objToTangentSpace, viewVec.xyz);
-
- float3 worldTangentS = mul((const float3x3)ModelMatrix, objToTangentSpace[0]);
- float3 worldTangentT = mul((const float3x3)ModelMatrix, objToTangentSpace[1]);
- float3 worldNormal = mul((const float3x3)ModelMatrix, objToTangentSpace[2]);
-
- OUT.Tex5.xyz = worldTangentS;
- OUT.Tex6.xyz = worldTangentT;
- OUT.Tex7.xyz = worldNormal;
- }
-